In an enterprise network, dependencies between hosts, protocols, and network services are complex, typically undocumented, and rarely static. Even though network management and troubleshooting rely on this information, automated discovery and monitoring of these dependencies is difficult.
Shared network services enable functional richness and flexibility for distributed applications. As a result, apparently simple facilities, such as remote file sharing and email, rely on multiple network services ranging from directory functions to authentication. In a large-scale deployment, the modularity and component reuse of shared network services lead to a complex system that is difficult for a network operator or a user to fully understand. As well as rendering effective management problematic, the size and sophistication of networked systems often lead to security vulnerabilities, inefficient troubleshooting and anomaly detection, and user frustration.
Current debugging capabilities for deployed networked systems are unsatisfactory. Individual applications may provide the ability to understand their own behavior. Analysis tools use operating system logging mechanisms or intrusive instrumentation to explicitly track the causal paths of individual requests.